package com.kingyun.gpsinspection.purificationservice.dao.mapper.jsm;


import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Roles;

import java.util.List;
import java.util.Map;

/**
 * 角色信息映射
 */
public interface RolesMapper {
    /**
     * 角色信息-删除
     *
     * @param roleId 角色唯一标识
     * @return
     */
    int deleteByPrimaryKey(String roleId);

    /**
     * 角色信息-插入
     *
     * @param record 角色
     * @return
     */
    int insert(Roles record);

    /**
     * 角色信息-插入
     *
     * @param record 角色
     * @return
     */
    int insertSelective(Roles record);

    /**
     * 角色信息-查询
     *
     * @param roleId 角色唯一标识
     * @return
     */
    Roles selectByPrimaryKey(String roleId);

    /**
     * 根据条件查询ID集合
     *
     * @param list
     * @return
     */
    List<String> selectByListId(List<Roles> list);

    /**
     * 角色信息-查询
     *
     * @return
     */
    List<Roles> selectAll();

    /**
     * 根据树形机构，进行树形机构进行搜索问题；
     *
     */
    List<Roles> selectByKeyWord(Roles roles);

    /**
     * 角色信息-修改
     *
     * @param record 角色
     * @return
     */
    int updateByPrimaryKeySelective(Roles record);

    /**
     * 角色信息-修改
     *
     * @param record 角色
     * @return
     */
    int updateByPrimaryKey(Roles record);

    /**
     * @param selectMap
     * @return
     */
    List<Roles> rolesListSelect(Map selectMap);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量添加
     * @Date 2017/2/8 17:17
     */
    int insertList(List<Roles> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量修改
     * @Date 2017/2/8 17:17
     */
    int updateList(List<Roles> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量逻辑删除
     * @Date 2017/2/8 17:17
     */
    int deleteList(List<Roles> list);


    /**
     * 根据上级角色查询下级角色
     *
     * @param roles
     */
    List<Roles> getChildRenRoles(Roles roles);
}